+2001-02-20 Alexander Larsson <alexl@redhat.com>
+
+ * gtk/gtkcellrenderertext.[ch]:
+ Add a "markup" property.
+
+ * gtk/treestoretest.c:
+ Use the markup property, remove some leftover stuff from
+ GtkTreeModelMapping.
+
2001-02-20 Alexander Larsson <alexl@redhat.com>
* gtk/gtklabel.c (gtk_label_set_selectable):
+2001-02-20 Alexander Larsson <alexl@redhat.com>
+
+ * gtk/gtkcellrenderertext.[ch]:
+ Add a "markup" property.
+
+ * gtk/treestoretest.c:
+ Use the markup property, remove some leftover stuff from
+ GtkTreeModelMapping.
+
2001-02-20 Alexander Larsson <alexl@redhat.com>
* gtk/gtklabel.c (gtk_label_set_selectable):
+2001-02-20 Alexander Larsson <alexl@redhat.com>
+
+ * gtk/gtkcellrenderertext.[ch]:
+ Add a "markup" property.
+
+ * gtk/treestoretest.c:
+ Use the markup property, remove some leftover stuff from
+ GtkTreeModelMapping.
+
2001-02-20 Alexander Larsson <alexl@redhat.com>
* gtk/gtklabel.c (gtk_label_set_selectable):
+2001-02-20 Alexander Larsson <alexl@redhat.com>
+
+ * gtk/gtkcellrenderertext.[ch]:
+ Add a "markup" property.
+
+ * gtk/treestoretest.c:
+ Use the markup property, remove some leftover stuff from
+ GtkTreeModelMapping.
+
2001-02-20 Alexander Larsson <alexl@redhat.com>
* gtk/gtklabel.c (gtk_label_set_selectable):
+2001-02-20 Alexander Larsson <alexl@redhat.com>
+
+ * gtk/gtkcellrenderertext.[ch]:
+ Add a "markup" property.
+
+ * gtk/treestoretest.c:
+ Use the markup property, remove some leftover stuff from
+ GtkTreeModelMapping.
+
2001-02-20 Alexander Larsson <alexl@redhat.com>
* gtk/gtklabel.c (gtk_label_set_selectable):
+2001-02-20 Alexander Larsson <alexl@redhat.com>
+
+ * gtk/gtkcellrenderertext.[ch]:
+ Add a "markup" property.
+
+ * gtk/treestoretest.c:
+ Use the markup property, remove some leftover stuff from
+ GtkTreeModelMapping.
+
2001-02-20 Alexander Larsson <alexl@redhat.com>
* gtk/gtklabel.c (gtk_label_set_selectable):
+2001-02-20 Alexander Larsson <alexl@redhat.com>
+
+ * gtk/gtkcellrenderertext.[ch]:
+ Add a "markup" property.
+
+ * gtk/treestoretest.c:
+ Use the markup property, remove some leftover stuff from
+ GtkTreeModelMapping.
+
2001-02-20 Alexander Larsson <alexl@redhat.com>
* gtk/gtklabel.c (gtk_label_set_selectable):
PROP_0,
PROP_TEXT,
+ PROP_MARKUP,
/* Style args */
PROP_BACKGROUND,
NULL,
G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_MARKUP,
+ g_param_spec_string ("markup",
+ _("Markup"),
+ _("Marked up text to render"),
+ NULL,
+ G_PARAM_WRITABLE));
+
g_object_class_install_property (object_class,
PROP_BACKGROUND,
g_param_spec_string ("background",
if (celltext->text)
g_free (celltext->text);
-
+
+ if (celltext->extra_attrs)
+ pango_attr_list_unref (celltext->extra_attrs);
+
(* G_OBJECT_CLASS (parent_class)->finalize) (object);
}
case PROP_BACKGROUND:
case PROP_FOREGROUND:
+ case PROP_MARKUP:
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
break;
celltext->text = g_strdup (g_value_get_string (value));
break;
+ case PROP_MARKUP:
+ {
+ const gchar *str;
+ gchar *text = NULL;
+ GError *error = NULL;
+ PangoAttrList *attrs = NULL;
+
+ if (celltext->text)
+ g_free (celltext->text);
+
+ if (celltext->extra_attrs)
+ pango_attr_list_unref (celltext->extra_attrs);
+
+ str = g_value_get_string (value);
+ if (str && !pango_parse_markup (str,
+ -1,
+ 0,
+ &attrs,
+ &text,
+ NULL,
+ &error))
+ {
+ g_warning ("Failed to set cell text from markup due to error parsing markup: %s",
+ error->message);
+ g_error_free (error);
+ return;
+ }
+
+ celltext->text = text;
+ celltext->extra_attrs = attrs;
+ }
+ break;
+
case PROP_BACKGROUND:
{
GdkColor color;
PangoUnderline uline;
layout = gtk_widget_create_pango_layout (widget, celltext->text);
-
- attr_list = pango_attr_list_new ();
+
+ if (celltext->extra_attrs)
+ attr_list = pango_attr_list_copy (celltext->extra_attrs);
+ else
+ attr_list = pango_attr_list_new ();
if (will_render)
{
PangoFontDescription font;
PangoColor foreground;
PangoColor background;
+
+ PangoAttrList *extra_attrs;
PangoUnderline underline_style;
gint n;
gchar *str;
- str = g_strdup_printf ("Row (%d)", i++);
+ str = g_strdup_printf ("Row (<span color=\"red\">%d</span>)", i++);
gtk_tree_store_set (base_model, iter, 0, str, -1);
g_free (str);
case 1:
gtk_window_set_title (GTK_WINDOW (window), "Sorted list");
break;
- case 2:
- gtk_window_set_title (GTK_WINDOW (window), "Uppercase flipped list");
- break;
}
vbox = gtk_vbox_new (FALSE, 8);
/* The selected column */
cell = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes ("Node ID", cell, "text", 0, NULL);
+ column = gtk_tree_view_column_new_with_attributes ("Node ID", cell, "markup", 0, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
cell = gtk_cell_renderer_text_new ();
/* FIXME: reverse this */
make_window (0);
make_window (1);
- make_window (2);
gtk_main ();
gint n;
gchar *str;
- str = g_strdup_printf ("Row (%d)", i++);
+ str = g_strdup_printf ("Row (<span color=\"red\">%d</span>)", i++);
gtk_tree_store_set (base_model, iter, 0, str, -1);
g_free (str);
case 1:
gtk_window_set_title (GTK_WINDOW (window), "Sorted list");
break;
- case 2:
- gtk_window_set_title (GTK_WINDOW (window), "Uppercase flipped list");
- break;
}
vbox = gtk_vbox_new (FALSE, 8);
/* The selected column */
cell = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes ("Node ID", cell, "text", 0, NULL);
+ column = gtk_tree_view_column_new_with_attributes ("Node ID", cell, "markup", 0, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
cell = gtk_cell_renderer_text_new ();
/* FIXME: reverse this */
make_window (0);
make_window (1);
- make_window (2);
gtk_main ();